home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Games Collection 1
/
software vault.zip
/
software vault
/
CDR10
/
YICN23.ZIP
/
INCLUDE
/
ANIMICON.H
< prev
next >
Wrap
C/C++ Source or Header
|
1993-02-27
|
2KB
|
56 lines
#ifndef ANIMICON.H
#define ANIMICON.H
#include <stddef.h>
#include "stddefs.h"
#include "icon.h"
class animiconNode
{
public:
animiconNode * nextFrame;
animiconNode * prevFrame;
icon picture;
animiconNode() {nextFrame = NULL; prevFrame = NULL;}
animiconNode(byte * iconData, animiconNode * nextIcon)
{picture.useData(iconData); nextFrame = nextIcon; prevFrame = NULL;};
};
class animicon
{
public:
animiconNode * firstFrame;
animiconNode * lastFrame;
animiconNode * thisFrame;
byte numberOfFrames;
animicon() {firstFrame = lastFrame = thisFrame = NULL; numberOfFrames = 0;}
animicon(char * filename, icon::flagType flags = icon::normal, yakLib * myYakLib = NULL);
~animicon();
char far * add(animiconNode * thisNode);
char far * add(char far *filename, icon::flagType flags = icon::normal, yakLib * myYakLib = NULL);
inline void show(int x, int y, word pagebase);//virt
inline void draw(int x, int y, word pagebase);//virt
inline void showZoomed(int x, int y, word offset, int newWidth);
inline void drawZoomed(int x, int y, word offset, int newWidth);
inline void advance(void); //virt
void removeTail(void);
void addAll(char * filename, icon::flagType flags = icon::normal, yakLib * myYakLib = NULL);
void hide(int x, int y, word toOffset, word fromOffset);
};
class animslave
{
public:
animiconNode * thisFrame;
animslave() {thisFrame = NULL;}
virtual void advance(void);
virtual void advance(int numFrames);
inline void draw(int x, int y, word pagebase);//virt
inline void show(int x, int y, word pagebase);//virt
inline void showZoomed(int x, int y, word offset, int newWidth);
inline void drawZoomed(int x, int y, word offset, int newWidth);
};
#endif